Neural networks have been utilized in an ever increasing manner to predict system operation in the future such that adjustments to the system can be anticipated and also to provide control inputs to a manufacturing control system. These networks provide a non-linear representation of a plant, which non-linear representation was learned through the use of historical training data. Once the system is running, it is often desirable to change any of the operating parameters of the system through the use of either the control operation of the neural network or to determine how changes in the inputs to the neural network will affect the predicted output. These changes are often constrained by physical limitations of the plant, or by user-defined constraints supplied to achieve desired behavior. The present invention provides a novel mechanism for achieving such desired behavior while simultaneously satisfying constraints.
When utilizing neural networks as predictive tools, a system designer may be locked into the overall operating system. For example, control networks typically receive a desired output and then generate control inputs to force the control inputs to a state that will yield the desired input by minimizing the error value between a predictive output and a desired output. These control networks provide as an output a control input to the system, which then responds accordingly. However, the way in which the input is applied is not controlled. For example, a user may change the desired output to increase impurity concentration for a given process. This could entail changing the flowrate of two valves, changing the heater control, etc. Unfortunately, the operation of the plant during this change to achieve the desired output is unknown, and it is not until the entire system has settled down and the desired output has been reached that the system is operated as desired.
In order to alter the inputs to a plant to achieve a desired effect in accordance with the suggested control input changes from a control system, it is necessary for the operator and/or the control system to determine how much each input value should change and also in what the sequence of change should be. One factor that complicates the control strategy that is implemented is the sensitivity of the output on each of the input values. For example, the outputs in some plants are very sensitive to certain input values and exhibit almost no change as a function of changes in other input values. However, this fact is not known until the predictive network that represents the plant is completely trained on all input values. Therefore, the network requires all input values in order to operate. Of course, the ones of the input values that cause no change in the output can be clamped to zero, if these input variables can be discriminated, and then the network run to define or to predict new and updated input values. Therefore, in order to eliminate the least sensitive input values, it is first necessary to determine which of these input values causes little or no change in the output and then eliminate these values from the input. One problem that exists in determining the sensitivity of the input variables on the network, and subsequently eliminating the input variables as inputs to the network, is whether the dependence of the outputs on the input variables is linear or non-linear. Further, it is necessary to determine whether the output is sensitive to a combination of input variables as opposed to being sensitive only to individual input variables. For example, a given input variable in isolation may cause no change in the output. However, this input variable in combination with a change in another input variable may cause a large change in the output variable. Therefore, non-linear relationships between the input variable and the output variable must be discerned in order to accurately determine the sensitivity of the output variables on input variables.